#include "vector.h"

void test1()
{
	txp::vector<int> v1;
	v1.push_back(1);
	v1.push_back(2);
	v1.push_back(3);
	v1.push_back(4);

	for (auto& e : v1)
	{
		cout << e << " ";
	}
	cout << endl;

	v1.resize(10, 1);
	for (auto& e : v1)
	{
		cout << e << " ";
	}
	cout << endl;

	v1.resize(2);
	for (auto& e : v1)
	{
		cout << e << " ";
	}
	cout << endl;
}

void test2()
{
	txp::vector<int> v1;
	v1.push_back(1);
	v1.push_back(2);
	for (auto& e : v1)
	{
		cout << e << " ";
	}
	cout << endl;

	txp::vector<int> v2(v1);
	for (auto& e : v2)
	{
		cout << e << " ";
	}
	cout << endl;

	txp::vector<int> v3 = { 10,9,8,7,6,5,4,1,2 };
	v1 = v3;
	for (auto& e : v1)
	{
		cout << e << " ";
	}
	cout << endl;
}

void test3()
{
	txp::vector<int> v1;
	v1.push_back(1);
	v1.push_back(2);
	v1.push_back(2);
	v1.push_back(2);
	v1.push_back(2);
	for (auto& e : v1)
	{
		cout << e << " ";
	}
	cout << endl;

	txp::vector<int> v2(v1.begin(), v1.end());
	for (auto& e : v2)
	{
		cout << e << " ";
	}
	cout << endl;

	string s1("abcdef");
	txp::vector<int> v3(s1.begin(), s1.end());
	for (auto& e : v3)
	{
		cout << e << " ";
	}
	cout << endl;
}

void test4()
{
	txp::vector<int> v1(10, 1);
	for (auto& e : v1)
	{
		cout << e << " ";
	}
	cout << endl;

	txp::vector<char> v2(10, 'a');
	for (auto& e : v2)
	{
		cout << e << " ";
	}
	cout << endl;

	txp::vector<double> v3(10, 1.1);
	for (auto& e : v3)
	{
		cout << e << " ";
	}
	cout << endl;
}

void test5()
{
	txp::vector<string> v1;
	v1.push_back("11111111");
	v1.push_back("11111111");
	v1.push_back("11111111");
	v1.push_back("11111111");
	v1.push_back("11111111");

	for (auto& e : v1)
	{
		cout << e << " ";
	}
	cout << endl;
}

int main()
{
	//test1();
	//test2();
	//test3();
	//test4();
	test5();

	return 0;
}